package utilidades;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class DescargaDeDatos 

{

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// /*
//
// * Constructor
//
// */
//
// public DescargaDeDatos() 
//
// {
//
// 
//
// }
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// /*
//
// * Rutina para conectar fisicamente con un servidor
//
// */
	

 public void descargarArchivo() 
 {

	 URL url = null;
	try {
		url = new URL("http://estrategiasdeinversion.webfg.com/cotizaciones/index.php?section=fichaIndice&amp;indice=ibex35&amp;plaza=55");
	} catch (MalformedURLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	 URLConnection urlCon = null;
	try {
		urlCon = url.openConnection();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	 // acceso al contenido web
	
	 InputStream is = null;
	try {
		is = urlCon.getInputStream();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	 // Fichero en el que queremos guardar el contenido
	
	 FileOutputStream fos = null;
	try {
		fos = new FileOutputStream("salida.txt");
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	 // buffer para ir leyendo.
	
	 byte [] array = new byte[1000];
	
	 // Primera lectura y bucle hasta el final
	
	 int leido = 0;
	try {
		leido = is.read(array);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	 
	 while (leido > 0) {

		 try {
			fos.write(array,0,leido);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		 try {
			leido=is.read(array);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		 }

		 // Cierre de conexion y fichero.

		 try {
			is.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		 try {
			fos.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 }

		//////////////////////////////////////////////////////////////////////////////////////////////////////////////

		 public static void main(String[] args) throws Exception {

		 DescargaDeDatos nuevo= new DescargaDeDatos();

		 nuevo.descargarArchivo();

		}

 }
